<template>
    <div class="shopcar-container">
        <div class="goods-list">
            <!-- 商品列表项区域 -->
            <div class="mui-card" v-for="(item,index) in  goodslist" :key="index">
              <div class="mui-card-content">
                  <div class="mui-card-content-inner">
                      <mt-switch v-model="$store.getters.getGoodsSelected[item.id]" 
                      @change="selectedChanged(item.id,$store.getters.getGoodsSelected[item.id])"></mt-switch>
                      <img :src="item.thumb_path">
                      <div class="info">
                          <h1>{{item.title}}</h1>
                          <p>
                          <span class="price">￥{{item.sell_price}}</span>
                          <numbox :initcount="$store.getters.getGoodsCount[item.id]" :goodsid="item.id"></numbox>
                          <a href="#" @click.prevent="remove(item.id,index)">删除</a>
                          </p>
                      </div>
                  </div>
              </div>
            </div>
        </div>
            <!-- 结算区域 -->
        <div class="mui-card">
            <div class="mui-card-content">
              <div class="mui-card-content-inner jiesuan">
                  <div class="left">
                    <p>总计（不含运费）</p>
                    <p>已勾选商品 <span class="red">{{$store.getters.getGoodsCountAndAmount.count}}</span> 件 , 
                    总价 <span class="red">￥{{$store.getters.getGoodsCountAndAmount.amount}}</span></p>
                  </div>
                  <mt-button type="danger">去结算</mt-button>
                
              </div>
            </div>
        </div>

         <!--  <p>{{$store.getters.getGoodsSelected}}</p> -->
    </div>
</template>
 <script>
import numbox from "../subcomponents/shopcar_numbox.vue";

/* 导入接口地址 */
import { getGoodsList } from "@/api";
export default {
  data() {
    return {
      goodslist: []
    };
  },
  created() {
    var idArr = [];
    /* 获取所有store中的商品id添加至数组 */
    this.$store.state.car.forEach(item => {
      idArr.push(item.id);
    });
    /* 如果store中没有数据，即购物车为空，则直接返回不需要发送请求 */
    if (idArr.length <= 0) {
      return;
    }
    /* 获取购物车中的数据 */
    getGoodsList(idArr.join(",")).then(res => {
      //console.log(res, 8);

      if (res.data.status == 0) {
        this.goodslist = res.data.message;
      }
    });
  },
  methods: {
    remove(id, index) {
      this.goodslist.splice(index, 1);
      this.$store.commit("removeFromCar", id);
    },

    /* 开关 */
    selectedChanged(id,val){
      console.log(id+'---'+val);
       this.$store.commit("updateGoodsSelected", {
         id:id,
         selected:val
       });
    }
  },
  components: {
    numbox
  }
};
</script>
<style lang="less" scoped>
.shopcar-container {
  background-color: #eee;
  overflow: hidden;
  .goods-list {
    .mui-card-content-inner {
      display: flex;
      align-items: center;

      /* 按钮 */
      /deep/.mint-switch-core {
        width: 45px;
        height: 25px;
        &::before {
          width: 23px;
          height: 24px;
        }
        &::after {
          width: 23px;
          height: 23px;
        }
      }
    }
    img {
      width: 55px;
      padding:0  5px;
    }
    h1 {
      font-size: 13px;
    }
    .info {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      .price {
        color: red;
        font-weight: bold;
      }
    }
  }
  .jiesuan {
    display: flex;
    justify-content: space-between;
    align-items: center;
    .red {
      color: red;
      font-weight: bold;
      font-size: 14px;
    }

    /deep/button{
      font-size: 14px;
      height: 35px;
      line-height:35px;
    }
  }

  .mui-card {
    margin: 8px;
  }

  /deep/ .mui-card-content-inner {
    padding: 10px;
  }

  
}
</style>


